
package com.feib.soeasy.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;


/**
 * @title (#)WebAccessLog.java<br>
 * @description 網頁操作紀錄<br>
 * @author Jimmy Liu<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2010/11/1 create by Jimmy Liu<br>
 */
@Entity
@Table(name = "USER_ACTION_LOG")
public class UserActionLog extends BaseEntity {

    private static final long serialVersionUID = 7144209720878804044L;
    
    /**
     * PK in Table
     */
    private Long actionLogPk;
    
    /**
     * 帳單業者PK
     */
    private Long groupPk;
    
    /**
     * 帳單業者代號
     */
    private String groupNo;
    
    /**
     * 帳單業者名稱
     */
    private String groupName;
    
    /**
     * 使用者Pk
     */
    private Long userPk;
    
    /**
     * 使用者帳號
     */
    private String userId;
    
    /**
     * 使用者名稱
     */
    private String usernName;
    
    /**
     * 功能模組名稱
     */
    private String parentActionName;
    
    /**
     * 功能類別名稱
     */
    private String actionBean;
    
    /**
     * 功能名稱
     */
    private String actionName;
    
    /**
     * 方法名稱
     */
    private String eventName;
    
    /**
     * 開始時間
     */
    private Date inDateTime;

    /**
     * 結束時間
     */
    private Date outDateTime;
    
    /**
     * 電腦IP或是 Proxy IP
     */
    private String remoteAddr;
    
    private String logNote;

    
    /**
     * @return the actionLogPk
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="ACTION_LOG_PK", nullable=false)
    public Long getActionLogPk() {
        return actionLogPk;
    }

    
    /**
     * @param actionLogPk the actionLogPk to set
     */
    public void setActionLogPk(Long actionLogPk) {
        this.actionLogPk = actionLogPk;
    }

    
    /**
     * @return the groupPk
     */
    @Column(name="GROUP_PK")
    public Long getGroupPk() {
        return groupPk;
    }

    
    /**
     * @param groupPk the groupPk to set
     */
    public void setGroupPk(Long groupPk) {
        this.groupPk = groupPk;
    }

    
    /**
     * @return the userId
     */
    @Column(name="USER_ID", length=50)
    public String getUserId() {
        return userId;
    }

    
    /**
     * @param userId the userId to set
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    
    /**
     * @return the actionBean
     */
    @Column(name="ACTION_BAEN", length=250)
    public String getActionBean() {
        return actionBean;
    }

    
    /**
     * @param actionBean the actionBean to set
     */
    public void setActionBean(String actionBean) {
        this.actionBean = actionBean;
    }

    
    /**
     * @return the eventName
     */
    @Column(name="EVENT_NAME", length=50)
    public String getEventName() {
        return eventName;
    }

    
    /**
     * @param eventName the eventName to set
     */
    public void setEventName(String eventName) {
        this.eventName = eventName;
    }

    
    /**
     * @return the inDateTime
     */
    @Column(name="IN_DATETIME")
    public Date getInDateTime() {
        return inDateTime;
    }

    
    /**
     * @param inDateTime the inDateTime to set
     */
    public void setInDateTime(Date inDateTime) {
        this.inDateTime = inDateTime;
    }

    
    /**
     * @return the outDateTime
     */
    @Column(name="OUT_DATETIME")
    public Date getOutDateTime() {
        return outDateTime;
    }

    
    /**
     * @param outDateTime the outDateTime to set
     */
    public void setOutDateTime(Date outDateTime) {
        this.outDateTime = outDateTime;
    }

    
    /**
     * @return the remoteAddr
     */
    @Column(name="REMOTE_ADDR", length=50)
    public String getRemoteAddr() {
        return remoteAddr;
    }

    
    /**
     * @param remoteAddr the remoteAddr to set
     */
    public void setRemoteAddr(String remoteAddr) {
        this.remoteAddr = remoteAddr;
    }


    
    /**
     * @return the groupNo
     */
    @Column(name="GROUP_NO", length=12)
    public String getGroupNo() {
        return groupNo;
    }


    
    /**
     * @param groupNo the groupNo to set
     */
    public void setGroupNo(String groupNo) {
        this.groupNo = groupNo;
    }


    
    /**
     * @return the userPk
     */
    @Column(name="USER_PK")
    public Long getUserPk() {
        return userPk;
    }


    
    /**
     * @param userPk the userPk to set
     */
    public void setUserPk(Long userPk) {
        this.userPk = userPk;
    }


    
    /**
     * @return the usernName
     */
    @Column(name="USER_NAME", length=20)
    public String getUsernName() {
        return usernName;
    }


    
    /**
     * @param usernName the usernName to set
     */
    public void setUsernName(String usernName) {
        this.usernName = usernName;
    }


    
    /**
     * @return the logNote
     */
    @Column(name="LOG_NOTE", length=100)
    public String getLogNote() {
        return logNote;
    }


    
    /**
     * @param logNote the logNote to set
     */
    public void setLogNote(String logNote) {
        this.logNote = logNote;
    }


    
    /**
     * @return the groupName
     */
    @Column(name="GROUP_NAME", length=100)
    public String getGroupName() {
        return groupName;
    }


    
    /**
     * @param groupName the groupName to set
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }


    
    /**
     * @return the actionName
     */
    @Column(name = "ACTION_NAME", length = 255)
    public String getActionName() {
        return actionName;
    }

    /**
     * @param actionName the actionName to set
     */
    public void setActionName(String actionName) {
        this.actionName = actionName;
    }


    
    /**
     * @return the parentActionName
     */
    @Column(name = "PARENT_ACTION_NAME", length = 255)
    public String getParentActionName() {
        return parentActionName;
    }


    
    /**
     * @param parentActionName the parentActionName to set
     */
    public void setParentActionName(String parentActionName) {
        this.parentActionName = parentActionName;
    }    
    
}
